Add xc_init_store and run xenbus probe on INITDOMAIN_STORE privcmd ioctl.
authorcl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Tue, 12 Jul 2005 10:01:03 +0000 (10:01 +0000)
committercl349@firebug.cl.cam.ac.uk <cl349@firebug.cl.cam.ac.uk>
Tue, 12 Jul 2005 10:01:03 +0000 (10:01 +0000)
Signed-off-by: Rusty Russel <rusty@rustcorp.com.au>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c
tools/libxc/xc.h
tools/libxc/xc_misc.c

index 9eea1835b5c5bfa2eec7afedf6fbbb6668aea2bd..50c8de3eae68215aa66907a1c65b1e5e8e5f529e 100644 (file)
@@ -19,6 +19,7 @@
 #include <linux/highmem.h>
 #include <linux/pagemap.h>
 #include <linux/seq_file.h>
+#include <linux/kthread.h>
 
 #include <asm/pgalloc.h>
 #include <asm/pgtable.h>
@@ -222,7 +223,7 @@ static int privcmd_ioctl(struct inode *inode, struct file *file,
                          PAGE_SHIFT);
 
         /* We'll return then this will wait for daemon to answer */
-        // kthread_run(do_xenbus_probe, NULL, "xenbus_probe");
+        kthread_run(do_xenbus_probe, NULL, "xenbus_probe");
     }
     break;
 
index 073f6562c0d6182e48f8539781e874c2871947b6..97310a21f85f701baaf2b09e656f01f4786a5595 100644 (file)
@@ -524,4 +524,13 @@ long xc_get_tot_pages(int xc_handle, u32 domid);
 /* Execute a privileged dom0 operation. */
 int xc_dom0_op(int xc_handle, dom0_op_t *op);
 
+/* Initializes the store (for dom0)
+   remote_port should be the remote end of a bound interdomain channel between
+   the store and dom0.
+
+   This function returns a shared frame that should be passed to
+   xs_introduce_domain
+ */
+long xc_init_store(int xc_handle, int remote_port);
+
 #endif /* __XC_H__ */
index ac306b1585f97d3e784551c0219c158d398ff146..7e4c10d1552a5ea9ada17fbb3d113efc2d720c3c 100644 (file)
@@ -130,3 +130,8 @@ int xc_msr_write(int xc_handle, int cpu_mask, int msr, unsigned int low,
     
     return rc;
 }
+
+long xc_init_store(int xc_handle, int remote_port)
+{
+       return ioctl(xc_handle, IOCTL_PRIVCMD_INITDOMAIN_STORE, remote_port);
+}